package com.chen.apply.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.common.pojo.entity.Apply;
import com.common.pojo.req.ApplyUpdateReqDTO;
import com.common.pojo.req.ApplySubmitReqDTO;
import com.common.pojo.resp.ApplyEditRespDTO;
import com.common.pojo.resp.ApplyInquiryRespDTO;
import com.common.pojo.resp.ApprovalRecordRespDTO;
import com.common.pojo.resp.PageResult;

import java.time.LocalDate;
import java.util.List;

public interface ApplyService extends IService<Apply> {

    boolean submitApply(ApplySubmitReqDTO apply);

    PageResult<ApplyInquiryRespDTO> getApplyInquiryRespDTO(LocalDate leftTime, LocalDate rightTime, int pageNum, int pageSize);

    Integer getStatusByApplyId(Integer applyId);

    boolean updateApply(ApplyUpdateReqDTO editReqDTO);

    ApplyEditRespDTO getApplyEditData(Integer applyId);

    List<ApprovalRecordRespDTO> getApprovalRecordsFromApprovalService(Long applyId);
}
